[INFO] fetching crate maj 0.6.0...
[INFO] checking maj-0.6.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate maj 0.6.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate maj 0.6.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate maj 0.6.0
[INFO] finished tweaking crates.io crate maj 0.6.0
[INFO] tweaked toml for crates.io crate maj 0.6.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded async-tls v0.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 04ad58814bcf3e71bc5d4c1f828fbccfcc984c34c6241417e7278f71447d13c6
[INFO] running `Command { std: "docker" "start" "-a" "04ad58814bcf3e71bc5d4c1f828fbccfcc984c34c6241417e7278f71447d13c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04ad58814bcf3e71bc5d4c1f828fbccfcc984c34c6241417e7278f71447d13c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04ad58814bcf3e71bc5d4c1f828fbccfcc984c34c6241417e7278f71447d13c6", kill_on_drop: false }`
[INFO] [stdout] 04ad58814bcf3e71bc5d4c1f828fbccfcc984c34c6241417e7278f71447d13c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f3a3d8b962137c1ffb01d72571934ac68524ec8280df7d421ad94991c5879064
[INFO] running `Command { std: "docker" "start" "-a" "f3a3d8b962137c1ffb01d72571934ac68524ec8280df7d421ad94991c5879064", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.88
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking value-bag v1.7.0
[INFO] [stderr]     Checking parking v2.2.0
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking futures-lite v2.2.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking async-task v4.7.0
[INFO] [stderr]    Compiling rustix v0.37.27
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking piper v0.2.1
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking concurrent-queue v2.4.0
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking event-listener v4.0.3
[INFO] [stderr]     Checking event-listener v5.2.0
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]     Checking waker-fn v1.1.1
[INFO] [stderr]     Checking linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling rustls v0.21.10
[INFO] [stderr]     Checking event-listener-strategy v0.4.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.0
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking async-lock v3.3.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking async-channel v2.2.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking async-lock v2.8.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking async-executor v1.8.0
[INFO] [stderr]     Checking blocking v1.5.1
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]     Checking polling v3.5.0
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking async-io v2.3.1
[INFO] [stderr]     Checking pretty_env_logger v0.4.0
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking async-global-executor v2.4.1
[INFO] [stderr]     Checking async-std v1.12.0
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking rustls v0.18.1
[INFO] [stderr]     Checking webpki-roots v0.20.0
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking webpki-roots v0.22.6
[INFO] [stderr]     Checking tokio-rustls v0.14.1
[INFO] [stderr]     Checking async-tls v0.13.0
[INFO] [stderr]     Checking maj v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: couldn't read src/../majc/src/help.gmi: No such file or directory (os error 2)
[INFO] [stdout]    --> src/gemini.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let msg = include_str!("../majc/src/help.gmi");
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `routes::*`
[INFO] [stdout]   --> src/server/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use routes::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `routes::*`
[INFO] [stdout]   --> src/server/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use routes::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `async_tls::TlsAcceptor: From<Arc<ServerConfig>>` is not satisfied
[INFO] [stdout]   --> src/server/mod.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let acceptor = Arc::new(TlsAcceptor::from(cfg.clone()));
[INFO] [stdout]    |                             ^^^^^^^^^^^ the trait `From<Arc<ServerConfig>>` is not implemented for `async_tls::TlsAcceptor`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              <async_tls::TlsAcceptor as From<Arc<rustls::server::server_conn::ServerConfig>>>
[INFO] [stdout]              <async_tls::TlsAcceptor as From<rustls::server::server_conn::ServerConfig>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `async_tls::TlsAcceptor: From<std::sync::Arc<ServerConfig>>` is not satisfied
[INFO] [stdout]   --> src/server/mod.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let acceptor = Arc::new(TlsAcceptor::from(cfg.clone()));
[INFO] [stdout]    |                             ^^^^^^^^^^^ the trait `From<std::sync::Arc<ServerConfig>>` is not implemented for `async_tls::TlsAcceptor`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              <async_tls::TlsAcceptor as From<std::sync::Arc<rustls::server::server_conn::ServerConfig>>>
[INFO] [stdout]              <async_tls::TlsAcceptor as From<rustls::server::server_conn::ServerConfig>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `maj` (lib) due to 2 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `maj` (lib test) due to 3 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "f3a3d8b962137c1ffb01d72571934ac68524ec8280df7d421ad94991c5879064", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3a3d8b962137c1ffb01d72571934ac68524ec8280df7d421ad94991c5879064", kill_on_drop: false }`
[INFO] [stdout] f3a3d8b962137c1ffb01d72571934ac68524ec8280df7d421ad94991c5879064
[INFO] checking maj-0.6.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate maj 0.6.0 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate maj 0.6.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate maj 0.6.0
[INFO] finished tweaking crates.io crate maj 0.6.0
[INFO] tweaked toml for crates.io crate maj 0.6.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7e7e96ede301fc1f1f942fef6eea3184f05c67d28bc0cd898895a7dc618a2d67
[INFO] running `Command { std: "docker" "start" "-a" "7e7e96ede301fc1f1f942fef6eea3184f05c67d28bc0cd898895a7dc618a2d67", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7e7e96ede301fc1f1f942fef6eea3184f05c67d28bc0cd898895a7dc618a2d67", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e7e96ede301fc1f1f942fef6eea3184f05c67d28bc0cd898895a7dc618a2d67", kill_on_drop: false }`
[INFO] [stdout] 7e7e96ede301fc1f1f942fef6eea3184f05c67d28bc0cd898895a7dc618a2d67
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 431e2dea60cdf3803fc63040eb88bf6be175ac0d0e5f6a9ecb02e8375afb8d5c
[INFO] running `Command { std: "docker" "start" "-a" "431e2dea60cdf3803fc63040eb88bf6be175ac0d0e5f6a9ecb02e8375afb8d5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.88
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking parking v2.2.0
[INFO] [stderr]     Checking value-bag v1.7.0
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking futures-lite v2.2.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling rustix v0.37.27
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking async-task v4.7.0
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking piper v0.2.1
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking concurrent-queue v2.4.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking event-listener v4.0.3
[INFO] [stderr]     Checking event-listener v5.2.0
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking event-listener-strategy v0.4.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]     Checking async-lock v3.3.0
[INFO] [stderr]     Checking linux-raw-sys v0.3.8
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]    Compiling rustls v0.21.10
[INFO] [stderr]     Checking waker-fn v1.1.1
[INFO] [stderr]     Checking async-channel v2.2.0
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking async-lock v2.8.0
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking async-executor v1.8.0
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking blocking v1.5.1
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking polling v3.5.0
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking async-io v2.3.1
[INFO] [stderr]     Checking rustls v0.18.1
[INFO] [stderr]     Checking webpki-roots v0.20.0
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking pretty_env_logger v0.4.0
[INFO] [stderr]     Checking webpki-roots v0.22.6
[INFO] [stderr]     Checking async-global-executor v2.4.1
[INFO] [stderr]     Checking async-std v1.12.0
[INFO] [stderr]     Checking tokio-rustls v0.14.1
[INFO] [stderr]     Checking async-tls v0.13.0
[INFO] [stderr]     Checking maj v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: couldn't read src/../majc/src/help.gmi: No such file or directory (os error 2)
[INFO] [stdout]    --> src/gemini.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let msg = include_str!("../majc/src/help.gmi");
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:192:42
[INFO] [stdout]     |
[INFO] [stdout] 192 |             result.push(Node::Quote(line[1..].trim().to_string()));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:198:45
[INFO] [stdout]     |
[INFO] [stdout] 198 |             result.push(Node::ListItem(line[1..].trim().to_string()));
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:206:28
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 body: line[3..].trim().to_string(),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:213:28
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 body: line[2..].trim().to_string(),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:220:28
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 body: line[1..].trim().to_string(),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:227:27
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let sp = line[2..].split_ascii_whitespace().collect::<Vec<&str>>();
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |                     name: Some(sp[1..].join(" ").trim().to_string()),
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `routes::*`
[INFO] [stdout]   --> src/server/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use routes::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/routes.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |           let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/routes.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |           if &$s[$p..$end] == $e {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/routes.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |           let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/routes.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |           match $s[$p..$end].parse::<$t>() {
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/routes.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |           let $rest = &$s[$p..];
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `split` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/mod.rs:149:28
[INFO] [stdout]     |
[INFO] [stdout] 149 |         buf = &mut request[len..];
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:192:42
[INFO] [stdout]     |
[INFO] [stdout] 192 |             result.push(Node::Quote(line[1..].trim().to_string()));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:198:45
[INFO] [stdout]     |
[INFO] [stdout] 198 |             result.push(Node::ListItem(line[1..].trim().to_string()));
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:206:28
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 body: line[3..].trim().to_string(),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:213:28
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 body: line[2..].trim().to_string(),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:220:28
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 body: line[1..].trim().to_string(),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:227:27
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let sp = line[2..].split_ascii_whitespace().collect::<Vec<&str>>();
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/gemini.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |                     name: Some(sp[1..].join(" ").trim().to_string()),
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/routes.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let $n = &$s[$p..$end];
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |                 seg!(s, p, end, [hello]);
[INFO] [stdout]    |                 ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/routes.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |         if &$s[$p..$end] == $e {
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |                 seg!(s, p, end, "asdf");
[INFO] [stdout]    |                 ----------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |         if &$s[$p..$end] == $e {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |                 seg!(s, p, end, "fdsa");
[INFO] [stdout]     |                 ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:43:40
[INFO] [stdout]     |
[INFO] [stdout] 43  |              $p == $s.len() - 1 && &$s[$p..] == "/") {
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |                 split!(s, p, (/));
[INFO] [stdout]     |                 ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |         let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |                 split!(s, p, (/[username]));
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:18:22
[INFO] [stdout]     |
[INFO] [stdout] 18  |         let $n = &$s[$p..$end];
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |                 split!(s, p, (/[username]));
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:43:40
[INFO] [stdout]     |
[INFO] [stdout] 43  |              $p == $s.len() - 1 && &$s[$p..] == "/") {
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |                 split!(s, p, (/[username]));
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |         let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |                 split!(s, p, (/"abc"));
[INFO] [stdout]     |                 ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |         if &$s[$p..$end] == $e {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |                 split!(s, p, (/"abc"));
[INFO] [stdout]     |                 ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:43:40
[INFO] [stdout]     |
[INFO] [stdout] 43  |              $p == $s.len() - 1 && &$s[$p..] == "/") {
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |                 split!(s, p, (/"abc"));
[INFO] [stdout]     |                 ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |         let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |                 split!(s, p, (/"abc"/"xyz"));
[INFO] [stdout]     |                 ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |         if &$s[$p..$end] == $e {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |                 split!(s, p, (/"abc"/"xyz"));
[INFO] [stdout]     |                 ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |         let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |                 split!(s, p, (/"abc"/"xyz"));
[INFO] [stdout]     |                 ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |         if &$s[$p..$end] == $e {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |                 split!(s, p, (/"abc"/"xyz"));
[INFO] [stdout]     |                 ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:43:40
[INFO] [stdout]     |
[INFO] [stdout] 43  |              $p == $s.len() - 1 && &$s[$p..] == "/") {
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |                 split!(s, p, (/"abc"/"xyz"));
[INFO] [stdout]     |                 ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |         let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |                 split!(s, p, (/"abc"/"xy"));
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |         if &$s[$p..$end] == $e {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |                 split!(s, p, (/"abc"/"xy"));
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |         let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |                 split!(s, p, (/"abc"/"xy"));
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |         if &$s[$p..$end] == $e {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |                 split!(s, p, (/"abc"/"xy"));
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:43:40
[INFO] [stdout]     |
[INFO] [stdout] 43  |              $p == $s.len() - 1 && &$s[$p..] == "/") {
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |                 split!(s, p, (/"abc"/"xy"));
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |         let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |                 split!(s, p, (/"abc"[/rest..]));
[INFO] [stdout]     |                 ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |         if &$s[$p..$end] == $e {
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |                 split!(s, p, (/"abc"[/rest..]));
[INFO] [stdout]     |                 ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:49:25
[INFO] [stdout]     |
[INFO] [stdout] 49  |         let $rest = &$s[$p..];
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |                 split!(s, p, (/"abc"[/rest..]));
[INFO] [stdout]     |                 ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:43:40
[INFO] [stdout]     |
[INFO] [stdout] 43  |                $p == $s.len() - 1 && &$s[$p..] == "/") {
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |           let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |           if &$s[$p..$end] == $e {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |           let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:23:18
[INFO] [stdout]     |
[INFO] [stdout] 23  |           match $s[$p..$end].parse::<$t>() {
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:43:40
[INFO] [stdout]     |
[INFO] [stdout] 43  |                $p == $s.len() - 1 && &$s[$p..] == "/") {
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:11:22
[INFO] [stdout]     |
[INFO] [stdout] 11  |           let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/server/routes.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |           if &$s[$p..$end] == $e {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/routes.rs:49:25
[INFO] [stdout]     |
[INFO] [stdout] 49  |           let $rest = &$s[$p..];
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | /             route!(req.path, {
[INFO] [stdout] 214 | |                 (/)                 => home(req);
[INFO] [stdout] 215 | |                 (/"blog"/[id: u32]) => blog_post(req, id);
[INFO] [stdout] 216 | |                 (/"me"[/rest..])    => account(req, rest);
[INFO] [stdout] 217 | |             });
[INFO] [stdout]     | |______________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `split` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `routes::*`
[INFO] [stdout]   --> src/server/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use routes::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/routes.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |           let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/routes.rs:30:16
[INFO] [stdout]    |
[INFO] [stdout] 30 |           if &$s[$p..$end] == $e {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/routes.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |           let end = $s[$p..].find("/").map(|i| $p + i).unwrap_or($s.len());
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/server/routes.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |           match $s[$p..$end].parse::<$t>() {
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `seg` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/server/routes.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |           let $rest = &$s[$p..];
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/server/cgi.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         route!(r.url.path(), {
[INFO] [stdout] 21 | |             (/"cgi-bin"/[prog_name: String][/rest..]) => self.do_cgi(prog_name, rest.to_string(), r).await;
[INFO] [stdout] 22 | |         });
[INFO] [stdout]    | |__________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `split` which comes from the expansion of the macro `route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/server/mod.rs:149:28
[INFO] [stdout]     |
[INFO] [stdout] 149 |         buf = &mut request[len..];
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `async_tls::TlsAcceptor: From<Arc<ServerConfig>>` is not satisfied
[INFO] [stdout]   --> src/server/mod.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let acceptor = Arc::new(TlsAcceptor::from(cfg.clone()));
[INFO] [stdout]    |                             ^^^^^^^^^^^ the trait `From<Arc<ServerConfig>>` is not implemented for `async_tls::TlsAcceptor`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              <async_tls::TlsAcceptor as From<Arc<rustls::server::server_conn::ServerConfig>>>
[INFO] [stdout]              <async_tls::TlsAcceptor as From<rustls::server::server_conn::ServerConfig>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `async_tls::TlsAcceptor: From<std::sync::Arc<ServerConfig>>` is not satisfied
[INFO] [stdout]   --> src/server/mod.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let acceptor = Arc::new(TlsAcceptor::from(cfg.clone()));
[INFO] [stdout]    |                             ^^^^^^^^^^^ the trait `From<std::sync::Arc<ServerConfig>>` is not implemented for `async_tls::TlsAcceptor`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              <async_tls::TlsAcceptor as From<std::sync::Arc<rustls::server::server_conn::ServerConfig>>>
[INFO] [stdout]              <async_tls::TlsAcceptor as From<rustls::server::server_conn::ServerConfig>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `maj` (lib) due to 2 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `maj` (lib test) due to 3 previous errors; 46 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "431e2dea60cdf3803fc63040eb88bf6be175ac0d0e5f6a9ecb02e8375afb8d5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "431e2dea60cdf3803fc63040eb88bf6be175ac0d0e5f6a9ecb02e8375afb8d5c", kill_on_drop: false }`
[INFO] [stdout] 431e2dea60cdf3803fc63040eb88bf6be175ac0d0e5f6a9ecb02e8375afb8d5c
